System and method for modifying advertisement responsive to epg information

ABSTRACT

A system and method for utilizing data stored in an EPG database for modifying advertisement information. In this way, a service provider and/or an advertiser can transmit a single advertisement to all the television stations regardless of their geographic location and other user specific information, and need not re-transmit the advertisement even if there is a change in the show&#39;s program description. When the advertisement is displayed, the correct updated information is retrieved from the EPG database and inserted into the advertisement. 
     In one aspect, the present invention describes a method for modifying an advertisement in an EPG comprising the steps of: storing television schedule information in a first database; storing advertisement information in a second database; incorporating a portion of the television schedule information into a portion of the advertisement information to form a modified advertisement; and displaying the modified advertisement on a screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 09/595,216, filed Jun. 16, 2000, which claims priority of U.S. patent application Ser. No. 09/120,488, filed Jul. 21, 1998, which claims priority of U.S. Provisional Patent Application Nos. 60/055,237, filed Aug. 12, 1997, 60/068,375, filed Dec. 22, 1997, 60/053,330, filed Jul. 21, 1997, 60/055,761, filed Aug. 14, 1997, 60/061,119, filed Oct. 6, 1997, 60/071,811, filed Jan. 20, 1998, 60/071,812, filed Jan. 20, 1998, and 60/071,882, filed Jan. 20, 1998, and U.S. Provisional Patent Application No. 60/034,784, filed Dec. 19, 1996 and PCT International Application No. PCT/US97/23852, filed Dec. 19, 1997, the disclosures of all of which are incorporated herein by reference, as if fully stated here, for all purposes.

FIELD OF THE INVENTION

The present invention relates generally to television systems, and more particularly, to the display of, and recording control interface with, television programs, video, advertising information and program scheduling information.

BACKGROUND OF THE INVENTION

Television viewers have historically analyzed the information provided by television program schedule guides to select television programs to watch. Historically, television program schedule guides have listed the available television programs by day of the week, time of day, channel, and program title. Historically, only hardcopy television program schedule guides were available. More recently, as illustrated by the Levine patent, U.S. Pat. No. 4,908,713, television program guides have become available in electronic form.

The earliest versions of on-screen electronic program guides (“EPG”) provided for the storage of program schedule information in an electronic memory connected to the television receiver and generally provided for the on-screen formatting and display of the program schedule information on the television screen. The early EPGs typically overlaid the television programming. Furthermore, viewer interaction capabilities with early EPGs was extremely limited.

Later EPGs provided viewer-to-EPG interaction improvements and provided Picture-In-Guide (“PIG”) display of the television program simultaneous with the display of the EPG. International Application No. PCT/US95/1173 (International Publication No. WO 96/07270), the disclosure of which is incorporated by reference herein for all purposes, illustrates such an improvement.

SUMMARY OF THE INVENTION

The present invention is an improvement over previous EPGs in that it provides, among other things:

-   -   A. Improved viewer interaction capabilities with the EPG;     -   B. Improved viewer control of video recording of         future-scheduled programming;     -   C. Improved features to the EPG display and navigation;     -   D. Parental control of the EPG display;     -   E. Improved television program information access by the viewer;     -   F. Improved opportunities for the commercial advertiser to reach         the viewer;     -   G. Improved product information access by the viewer;     -   H. Creation of a viewer's profile;     -   I. Utilization of viewer profile information to customize         various aspects of the EPG; and J. Utilization of viewer profile         information to provide customized presentation of advertising to         the viewer.

DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description, appended claims, and accompanying drawings where:

FIG. 1 is a graphic representation of a sample screen display of the EPG.

FIG. 2 is a drawing of a portion of a remote control device that shows keys for activating various functions of the EPG.

FIG. 3 is a graphic representation of a sample on screen EPG display depicting the EPG's on-screen Grid Guide in the programming scrolling mode.

FIGS. 4 a and 4 b is a graphic representation of a sample on screen EPG display depicting the EPG's on-screen Grid Guide in the channel-scrolling.

FIG. 5 is a graphic representation of a sample on screen EPG display depicting the EPG in the Watch Scheduling mode.

FIG. 6 is a graphic representation of a sample on screen EPG display depicting the Watch/Record Schedule screen of the EPG.

FIG. 7 is a graphic representation of a sample on screen EPG display depicting the top level theme screen display of the EPG.

FIG. 8 is a graphic representation of a sample on screen EPG display depicting the second-level theme screen display of the EPG.

FIG. 9 is a graphic representation of a sample on screen EPG display depicting the Channel Guide function of the EPG.

FIGS. 10 a and 10 b are graphic representations of sample on screen EPG displays depicting one embodiment of the feature of presenting additional information concerning the subject matter of a highlighted Panel Ad Window.

DETAILED DESCRIPTION OF THE INVENTION

The disclosure of International Application WO96/07270, published on Mar. 7, 1996 is incorporated fully herein by reference. The present invention is an improvement on the electronic program guide (EPG) disclosed therein. The apparatus disclosed in the referenced PCT application is used to generate the screen displays described below.

In FIG. 1 of the drawing, one embodiment of the EPG with Ad Window and Advertising Messages is shown. In FIG. 1, a television screen display 10 is shown. Display 10 could be generated by a conventional television receiver with interlaced scan lines, by a VCR, by a PC monitor with progressive scan lines, or by another other type of video display device. In the upper left hand corner of the screen is a PIP window 12. Below window 12 are Panel Ad Windows 14, and 16 (“Ad Windows”). Windows 12, 14, and 16 each typically occupy about 1/9 of the total screen area. The remainder of the screen area is typically occupied (moving from top to bottom of the screen) by an action key bar 18, a navigation bar 20, a grid guide 22 (“Grid Guide”), and an information box 24 (the “detailed information area). In the embodiment pictured in FIG. 1, the position of the windows, and other user interface features, including the action key bar, navigation bar and Grid Guide, are fixed. In another embodiment of this invention, as is described further below, the position and size of the windows and other user interface features are customizable by the viewer.

In FIG. 2 of the drawing, one embodiment of a remote controller 26 for activating the functions of display 10 is shown. Remote controller 26 could have other keys for activating the functions of a user video device, such as a television receiver, a VCR, or a cable box. Remote control 26 has up, down, right, and left arrows keys 28, 30, 32, and 34, respectively, for controlling the movement of a cursor 36 on display 10. Cursor 36 can select, i.e., highlight, any of windows 12, 14, or 16 by pressing arrow keys 28 to 34, any of the titles and channels in Grid Guide 22 by pressing arrow keys 32 and 34, or navigation bar 20 by pressing arrow keys 32 and 34. Windows 12, 14, and 16 are highlighted by adding a border around the window or changing the color of the border, if the border is permanent. The titles and channels in Grid Guide 22 and navigation bar 20 are highlighted by changing color.

Highlighting of windows and/or viewer selections from the Grid Guide and/or navigation and EPG on screen display components may be accomplished in a number of other ways. For instance, the border of a selected window, or the selected Grid Guide or navigation component, can be made to appear to flash. Another way to highlight a viewer selection is to make the selected window or feature appear to become brighter than the rest of the on screen display. Yet another way to highlight a viewer selection is to blur all portions of the on screen display, except for the viewer selected component. Still another way to highlight a viewer selection is to make all portions of the on screen display, except for the viewer selected component, appear transparent. Still yet another way to highlight a viewer selection is to add animation to the selected component. When a portion of the EPG is selected, the system issues graphic display commands to the on screen display (OSD) controller to implement one or more of the desired enhancement technique(s).

The viewer enters the Guide Mode illustrated in FIG. 1 by pressing a “guide” key 35 and returns to the full screen Television Mode by pressing key 35 again or by pressing the “select” key. A real time television program is displayed in window 12. A translucent overlay of the PIP window 12 can display the title, channel (local number and/or station name), and status (locked or unlocked) of window 12 over the television program so the viewer can still see the entire image.

The PIP Window can be locked or unlocked. The “lock/unlock” mode is user controlled. To lock or unlock the PIP Window, the viewer can use a PIP button on the remote control device, or can highlight and press the Lock/Unlock EPG action button. The lock/unlock status is recorded and maintained until the status is reset by the viewer. That is, the lock/unlock status for the PIP Window in the EPG is maintained when the viewer leaves the Guide and later re-enters the Guide, including when the viewer turns off the television. If the viewer selects the “lock” status, the last channel to which the tuner was set in the PIP Window continues to be displayed regardless of the actions exercised by the viewer. In the unlocked status, the channel highlighted by cursor 36 in Grid Guide 22 is displayed if the Grid Guide is displaying currently telecast programs and the last currently telecast channel that was highlighted is displayed if the Grid Guide is displaying future programs.

There are generally three results to leaving the Guide, depending upon the way the viewer leaves the Guide. If the viewer, while in the EPG, wants to watch in full screen mode the program shown in the PIP Window, then the viewer can press the Guide button on the remote control device. If the viewer, while in the EPG, highlights a particular channel in the Grid Guide, and then presses the “select” button, the viewer will leave the Guide to view in the full screen mode the television program that the viewer highlighted in the Guide. If the viewer, while in the EPG, presses the “clear” or “cancel” button on the remote control device, then the viewer will leave the Guide and return to the television program that the viewer was watching immediately before entering the Guide.

Typically, an ad for a future telecast program is displayed in window 14. This ad is linked to the time and channel of the program in RAM so the viewer can watch or record the program automatically by pressing the blue left action button to watch the program, or the green right action button to record the program.

Typically, an ad for a product or service is displayed in window 16. This ad is linked to more information about the product or service in RAM so the viewer can read one or more pages about the product or service in window 16 by pressing an “info” key 40 one or more times. Alternatively, this ad is linked to the time and channel in RAM that an infomercial about the product or service will be telecast so the viewer can watch or record the infomercial automatically by pressing “select” key 42.

Bar 18 displays a blue button 44 and/or a green button 46 with legends that depend upon the context of the information displayed on the screen. Remote controller 26 has corresponding keys 48 and 50, respectively, to activate the functions represented by blocks 44 and 46.

From window 12, 14, or 16 the viewer moves to grid guide 22 by pressing arrow key 32. (From grid guide 22 the viewer moves to window 12, 14, or 16 by pressing arrow key 34.) In grid guide 22 the viewer moves cursor 36 to highlight one of the nine tiles in which channel and title are displayed by pressing arrow keys 28 and 30. The viewer can view program listings scheduled at future times by pressing keys 32 or 34 to move horizontally about the Grid.

From grid guide 22 the viewer moves to navigation bar 20 by pressing arrow key 28. Initially, the center button is highlighted. To highlight a different button, arrow key 32 or 34 is pressed. To enter the screen represented by the highlighted button, “select” key 42 is pressed.

In grid guide 22 details about the program represented by the highlighted tile are displayed. If more information is available this fact is indicated by an icon and such information is displayed in the area occupied by grid guide 22, instead of the grid guide by pressing “info” key 40. To return to the grid guide, “info” key 40 is pressed again. After an action button has been pressed or an icon on navigation bar 20 has been activated, an instructional prompt may be substituted for the program information in information box 24.

In addition to the tiles representing television programs, a virtual channel ad can be displayed in grid guide 22 on a tile 52. A virtual channel ad may promote, for instance, a current or future television program. Such a virtual channel ad for a television program is linked to the time and channel of the program in RAM so the viewer can watch or record the program automatically by pressing “select” key 42 in the manner described in the referenced application. More than one virtual channel ad may be stored in RAM, but preferably only one such ad is displayed at a time.

Reference is made to the TV Guide Plus+ 98 User Interface Specification v1.42stv, which is attached hereto as Appendix A, the disclosure of which is incorporated by reference as if fully stated herein, for more description of the invention.

One embodiment of the hardware for this invention includes a circuit board consisting of a gate array that provides all of the control functions for access by the processor (e.g., Motorola 68000), control of memory (dynamic RAM and external ROM), and some peripheral functions such as infrared (“IR”) input and output, frequency synthesizer for the paging system, and data acquisition from the paging system. Inside there is a module for creating an on-screen display including a programmable DMA (direct memory access) controller, a color lookup table that provides for a field called a color index that can be used to select a more complicated color (more bits than can be expressed in the bit map), first-in-first-out (“FIFO”) memory for ordering the pixels (which allows the system to write the pixels as fast as the system is capable of writing the pixels and then sending the pixels to the display according to a prescribed timing. Included in the chip is a timing subsystem that produces a number of different timing signals of varying frequency—from clocks to long millisecond time measurement, and interrupts. Synchronization signals for the television monitor are also generated by the internal timing subsystem. The system also typically includes circuits for functions including but not limited to: data receiver, memory controller, timing interface with the processor, data deinterleaving, error correcting, and synchronous timing generator with horizontal and vertical counters.

Another feature of one embodiment of the EPG system hardware is that display list hardware is capable of both video input and output on the same DMA hardware. The display processor is comprised of a video section and a FIFO section in an ASIC. The system has multiple clocks. The display memory has the capability to store 8 screen tiles in a horizontal plane.

Described below in more detail are the following improvements to an EPG:

-   -   A. Improved viewer interaction capabilities with the EPG,         including:         -   1. A Variety of Operating Modes.         -   2. Joy Stick and Track Ball Viewer Remote Interface.         -   3. Contextually Sensitive EPG On-Screen Control Mechanisms.         -   4. Watch Scheduling.         -   5. “All Channel” Guide Format, Channel Guide Format and             “Next”/“Previous” Channel Guide.     -   B. Improved viewer control of video recording of         future-scheduled programming, including:         -   1. Recording program displayed in PIP window.         -   2. Recording “Regularly.”         -   3. Record Function rerun filter for “Regularly” recorded             programs.         -   4. Skip recording instruction.         -   5. Automatic Record List Update.         -   6. Recording on recordable Digital Video Discs.         -   7. Speed Sensitive Tape Capacity.         -   8. Record Instruction Conflict Resolution.         -   9. Recording from Theme Guides.     -   C. Improved features to the EPG display and navigation,         including:         -   1. E-mail.         -   2. Multiple Viewable “Windows.”         -   3. Translucency on-screen effects.         -   4. On-screen notifications.         -   5. Theme navigation bar.         -   6. Improved Scrolling through the EPG and Smooth Scrolling.         -   7. “Jumping” in the EPG.         -   8. Thematic color-coding of program schedule.         -   9. Controllable number of days of programming.     -   D. Parental control of the EPG display;     -   E. Improved television program information access by the viewer,         including:         -   1. Virtual Channel Ad Slots and Ad Window program             advertisements.         -   2. Additional detailed information for viewer access             including link to the Internet.     -   F. Improved opportunities for the commercial advertiser to reach         the viewer, including:         -   1. Ad Window product-related video clips and infomercial             recording.         -   2. Ad Window program-related recording.         -   3. Panel Ads.         -   4. Virtual Channel Ad Slots.         -   5. Placeholder Ads         -   6. Full Screen ads.         -   7. Automatic watch channel.         -   8. Ad Features.     -   G. Improved product information access by the viewer, including:         -   1. Ad Window product detail.         -   2. Ad Window product-related recording.         -   3. Ad Window program-related recording.     -   H. Creation of a viewer's profile, including:         -   1. Collecting viewer profile information.         -   2. Analyzing and characterizing viewer profile information.     -   I. Utilization of viewer profile information to customize         various aspects of the EPG; and J. Utilization of viewer profile         information to provide customized presentation of advertising to         the viewer.         A. Improved Viewer Interaction Capabilities with the EPG

1. A Variety of Operating Modes.

Under the improved EPG system, there are multiple modes in which the viewer can operate the television.

a. Television Mode.

In the Television Mode, the viewer watches a full screen display of the television video programming. In one embodiment, in order to enter the EPG, the viewer presses the “Guide” key on the viewer's remote control device. In another embodiment, the EPG Grid Guide is the default mode. In the case where the EPG Grid Guide is the default mode, when the viewer turns the television on, the first thing that the viewer sees is the EPG in Grid Guide Mode as is described more fully below. In one embodiment, at the viewer's option, as identified in the EPG set up procedure, the viewer can override the EPG Grid Guide default mode by selecting to automatically enter the Television Mode whenever the viewer first turns on the television. During setup procedures, the viewer can further instruct the EPG to automatically tune to the last-watched channel as identified when the viewer last turned off the television. The viewer can further instruct the EPG to automatically tune to the viewer's favorite channel, as is deduced from analyzing the viewer's profile information, described below. Alternatively, the viewer can instruct the EPG to automatically tune to a particular channel, e.g., a news channel such as CNN.

b. EPG Grid Guide Mode.

In the EPG Grid Guide Mode, the EPG displays the Grid Guide, or in the alternative, a Channel Guide. The viewer can request that the Grid Guide occupy the entire screen, be displayed over a portion of the screen as an overlay of the video television programming, or, in the preferred embodiment, occupy only a portion of the screen, typically ⅔ of the entire screen, while continuing to show the video television programming in the PIP Window of the screen. In the preferred embodiment, multiple Windows are displayed for the viewer, as are further described below, including at least: the EPG/Grid Guide Window, the PIP Window, and the Ad Window.

Scrolling through the Guide is described below. The viewer can press the “Menu” key on the viewer's remote control device to go to the top of the Guide.

The viewer can return to the full screen display of the video television programming in a number of ways. One way is to press the “Guide” key on the viewer's remote control device. Another way is to press the “Select” key on the viewer's remote control device when the on-screen highlighting/cursor is highlighting a particular program listing on the Grid Guide for a program that is available for real-time viewing. Another way is to press the “last channel” key on the viewer's remote control device to return to the program the viewer was watching before entering the Guide, or the last program on which the PIP window was locked (an option explained further below).

1.) Theme Guide Function.

The EPG provides various Theme Guides, e.g., sports, movies, news, etc. Each Theme Guide presents program listings associated with a particular theme, e.g., all sports programs. The Theme Guide display format only displays program listings, and consequently channels, for certain times of the day, with content appropriate for the selected theme. For instance, the Sports Theme Guide will display, typically in schedule order, only listings for channels that carry sports programs that are scheduled during a certain period of time, e.g., 48 hours, 8 days, etc.

2.) Record Selection Function.

In the Record Selection Function, also referred to as the Recording Function, the viewer instructs the EPG what programs to add to the Record List, which is the list of programs and related programming schedule information, for programs that the viewer want to have recorded. As is further described below, the viewer can identify the frequency/regularity with which the viewer wants to record each program listed in the Record List.

The viewer can enter the Recording Function in a number of ways. The viewer can press the “Record” key, if there is one, on the viewer's remote control device. Alternatively, the viewer can “press” a “Record” action button on the EPG display.

3.) Watch Scheduling Function.

In the Watch Scheduling Function, also referred to as the Watch Function, the viewer instructs the EPG what programs to add to the Watch List, which is the list of programs and related programming schedule information, for programs that the viewer want to watch. As is further described below, the viewer can identify the frequency/regularity with which the viewer wants to watch each program listed in the Watch List.

The viewer can enter the Watch Function in a number of ways. The viewer can press the “Watch” key, if there is one, on the viewer's remote control device. Alternatively, the viewer can “press” a “Watch” action button on the EPG display.

4.) Data Download Function.

In some embodiments, data for the EPG schedule, and/or supplemental information relevant to the program listings, and/or advertising data, can be downloaded to the memory resident at the viewer's television system. In the preferred embodiment of the download data system, the viewer will ask the EPG to make certain types of information available; the EPG will use an index of where to find the information and will automatically connect to the appropriate data source and will download the information.

Data for the EPG schedule, and/or supplemental information relevant to the program listings, and/or advertising data, can be downloaded from various sources. In one embodiment, data is downloaded from the Internet. In other embodiments of the download data system, the viewer is asked to tune to a particular channel at a particular time if the viewer is interested in accessing and downloading particular types of information.

c. Internet Mode.

Not all embodiments require that data be downloaded to the EPG memory. In one embodiment, the EPG scheduling data, supplemental data and/or advertising data and the software to format, display, and navigate the EPG scheduling data, supplemental data and/or advertising data is accessed by the viewer's television system through a direct link between the viewer's television system and the Internet.

In one embodiment of the above-described direct-link to the Internet, the viewer's television is connected to the Internet by telephone line via modem, by cable modem, by other two-way communication device, including wireless modem communication devices and by other conventional methods of communicating with the Internet. The initial connect web site address may be supplied, for instance, through information transmitted to the viewer's television over the vertical blanking interval (the “VBI”). The viewer may also be provided with a selection of multiple EPG Internet web sites. The viewer uses the remote control device to select one of the EPG Internet web sites

The viewer's television system is programmed to emulate computer on-line access to the Internet. Once the connection between the viewer's television system and the Internet is made, the user has two-way communication with the on-line Internet service provider of the EPG related information. The user can then navigate through the EPG. Furthermore, in one embodiment, in which keyboard user interface is available, the user can enter chat rooms or other interactive services.

2. Joy Stick and Track Ball Viewer Remote Interface.

The viewing user's video interface (UI) comprises the viewer's remote control device and the television monitor screen display. In one embodiment of the present invention, one improvement in the UI offered by the present invention is the use of a joy stick as a substitute for the traditional remote control device configuration of a circle of four (4) arrow keys (up, down, left and right) with a select key in the center. The joy stick UI provides a user-friendly interface with the EPG. Use of the joy stick is intuitive. The viewer/user does not have to look at the remote once the viewer's finger contacts the remote control joy stick. Accordingly, the viewer can control the UI while simultaneously watching, without interruption, the on-screen display.

In another embodiment of the present invention, one improvement in the UT offered by the present invention is the use of a track ball as a substitute for the traditional remote control device configuration of a circle of four (4) arrow keys (up, down, left and right) with a select key in the center.

In both the track ball and the joy stick embodiments, there is an on-screen “cursor.” The viewer uses the track ball or joy stick remote control device to navigate the cursor to any location on the screen, much as a PC user navigates a cursor on a PC terminal window.

3. Contextually Sensitive EPG On-Screen Control Mechanisms.

“Keys,” “buttons,” menu “bars,” and other such visual control mechanism devices are displayed on-screen for the control of the EPG. Typically, the visual control mechanism devices are sensitive to user-interaction. Typically, the viewer uses the UT remote control device to highlight a particular on-screen control device. Typically, the viewer then uses the UI remote control device to select the highlighted on screen control device.

In one embodiment of the present invention, positionally constant on-screen control devices are contextually sensitive. That is, a particular button can be consistently displayed on every screen of the EPG in the same position and with the same color, from one screen to the next, from one mode to the next. With contextually sensitive control devices, even though the on screen control device has the same appearance and placement from one screen to the next and from one mode to the next, the button has a different function, and if selected, will provide a different result, depending upon the screen on which the button appears. In one embodiment, the function of the on-screen control device is textually described next to the control device, or, if the control device is sufficiently large, on the face of the control device.

For instance, in one embodiment, as illustrated in FIGS. 3, 4 a and b, 5, and 6, the EPG displays two buttons at the top of each of the four screens pictured. In each of the four different screens, the top left button has a different function. (As referred to in this application, the directions “left” and “right” refer to the viewer's left and the viewer's right, respectively.) FIG. 3 depicts the EPG's on-screen Grid Guide in the programming scrolling mode. In FIG. 3, the viewer's-left button is described as “Watch.” FIGS. 4 a and 4 b depict the EPG's on-screen Grid Guide in the channel-scrolling. In FIGS. 4 a and b, the viewer's-left button is a toggle button, alternately described as “Lock” and “Unlock.” FIG. 5 depicts the EPG in the Watch Scheduling Function. In FIG. 5, the viewer's-left button is described as “Cancel.” FIG. 6 depicts the Watch/Record Schedule screen of the EPG. In FIG. 6, the viewer's-left button is described as “Remove.”

4. Watch Scheduling.

The EPG provides the viewer with the opportunity to select program titles, scheduled for delivery at future times, to watch. By selecting program titles, the viewer builds a “watch list.” Watch list options and instructions provide functionality parallel to the EPG's Record Function. Instead of automatically recording the programs selected, the Watch Function automatically turns the television on, if it is not already on, and automatically tunes the television to the channel scheduled to deliver the designated program, if the television is not already tuned to that channel. This feature provides the viewer with the opportunity to watch a program of special interest at the scheduled time even if the viewer has forgotten about the scheduled delivery. This feature will also provide for parental selection of program viewing for children.

The viewer can enter the Watch Scheduling Function in a number of ways. The viewer can enter the Watch Scheduling Function by selecting that Function from the EPG menu. The viewer can also enter the Watch Scheduling Function by highlighting an Ad Window displaying an advertisement for a future-scheduled program or a Virtual Channel Ad Slot displaying an advertisement for a future-scheduled program (both of which are described elsewhere in this application).

The viewer can designate any program on the Watch List as a program that the viewer wants to watch regularly. In one embodiment, if the viewer enters the Watch Scheduling Function by highlighting an Ad Window or Virtual Channel Ad Slot, then if the viewer chooses to designate the program as a “regular” watch, the designation expires after a certain amount of time if the advertiser stops running the advertisement. The planned expiration is an incentive to the advertisers to renew their advertisements.

5. “All Channel” Guide Format. Channel Guide Format and “Next”/“Previous” Channel Guide.

The viewer can choose to view the Grid Guide in an “all channel” format which displays in some order every channel and the listings of programs already in progress or scheduled to begin at some time in the future. In the “all channel” format, the viewer scrolls up and down the listings for each channel and from left to right and right to left to view the listings for a channel scheduled for different times during the day. Typically, the left-most portion of the guide begins with the earliest scheduled programs and continues to the right serially through the listings scheduled at later times during the day.

As an alternative, the viewer can choose to view the programs scheduled for one channel at a time (a “Channel Guide”). In this format, the viewer scrolls up and down the listings for a single channel as scheduled for different times of the day. Typically, the “top” of the Channel Guide begins with the earliest scheduled program and continues serially through the listings scheduled at later times during the day. FIG. 9 is a graphic representation of a sample on screen EPG display depicting the Channel Guide function of the EPG.

In the “Channel Guide” format, the viewer can select to view the Channel Guide for the “next” channel or for the “previous” channel. In one embodiment, the “Next” and “Previous” Channel Guide is an option on one of the EPG menus, action buttons or task bars. In another embodiment, the viewer's remote control device provides “Next” and “Previous” Channel Guide keys. In another embodiment, the viewer uses the up and down arrow keys to navigate to the next or previous Channel Guides.

B. Improved Viewer Control of Video Recording of Future-Scheduled Programming

1. Recording Program Displayed in PIP Window.

As explained in more detail below, the EPG provides for multiple “windows.” One window displays the currently tuned program. When the viewer enters the EPG from the television mode, the PIP window is “highlighted.” in one embodiment, highlighting of the PIP window is accomplished by a color change of the border around the PIP window. While the PIP window is highlighted, the viewer can instruct the EPG to record the displayed program. In one embodiment, the viewer records the displayed program in the highlighted PIP window by pressing the record button on the viewer's remote control device.

2. Recording “Regularly.”

One embodiment of the present invention provides the viewer with the option of recording a particular program “regularly.” The “regularly” option can be selected when the viewer highlights a particular program title on the EPG Grid Guide. Viewer selection of the “regularly” option instructs the VCR control system to record the particular title on the selected channel at the selected time slot any day of the week that the program is telecast. If a telecast of the selected title is preempted by another program, the new program is not recorded. The change in the telecast schedule is determined by comparing the title of the selected program to the title of the program actually telecast. In one embodiment of the invention, it is assumed that the title of the program actually telecast is carried in the vertical blanking interval of the television signal. When the viewer has instructed the EPG to “regularly” record a particular program, if the selected program is preempted by another program, the preempting program is not recorded and the EPG displays a message notifying the viewer that the selected program was preempted and was not recorded.

3. Record Function Rerun Filter for “Regularly” Recorded Programs.

The EPG is capable of detecting reruns. The identification of the program as a rerun may be carried in the VBI of the program broadcast. In another embodiment, the rerun identification information is available in the program detail. In one embodiment of the Record Function, when the viewer selects the “Regularly” record option, the viewer is also given the option of filtering reruns. If the viewer selects the rerun filter option, then every time the program is regularly scheduled, the EPG determines whether or not the program episode to be delivered is identified as a rerun. If the episode is a rerun, and if the viewer has selected the rerun filter option for that program title, then the EPG will not record the episode.

4. Skip Recording Instruction.

In the EPG's Record Function, the viewer selects a program title for recording. Once a program title has been selected, the viewer is asked to select a record-scheduling option. The viewer can select Once, Daily, Weekly, or Regularly as a record-scheduling option. If the viewer has selected a record-scheduling option of Daily, weekly, or Regularly, one embodiment allows the viewer to skip recording of the program one time. The One-time skip instruction would result in the EPG not recording the program title, even though the record instruction for that program title remained in the record list.

In the EPG's Record Function, the viewer can turn select the skip instruction for all programs on the Record List, or for selected programs on the Record List. This feature might be used when the viewer goes on vacation. The programs remain on the Record List. At the viewer's option, the viewer can turn off the skip instruction for all programs on the Record List, or for selected programs on the Record List.

5. Automatic Record List Update.

In the EPG's Record Function, the EPG will detect changes in program scheduling as compared to record instructions for particular program titles designated for recording. In one embodiment, when the EPG detects program scheduling changes, the Record List is automatically updated with the schedule change information. For instance, if a sports event runs longer than the originally scheduled time, a packet of scheduling update information can be transmitted over the VBI that updates the time of the programs scheduled to be telecast after the sports event. The EPG detects the VBI scheduling updates and updates the recording list to permit the recording of any programs following the sports program to be recorded as appropriate.

6. Recording on Recordable Digital Video Discs.

The viewer can instruct the EPG to record programs on recordable Digital Video Discs (DVD's). Because of the extended storage capacity of DVD's, the viewer can instruct the EPG to record and index an extended period of programming. For instance, the viewer can instruct the EPG to record and index, e.g., 4 hours of CNN news broadcasts certain number. When the viewer is ready to view the DVD recording, the EPG displays the DVD index on screen. The viewer can then select to view either the entire DVD, or only those portions of the recording in which the viewer is interested.

In one embodiment, program-level indexing of recorded programs is created. In another embodiment, intra-program indexing is created by using information transmitted in the VBI of the video transmitted. In this embodiment, a recording of CNN would likely show indexing breakdowns that include themes, such as “International News,” “National News,” “Sports,” “Entertainment,” “Business & Finance,” and “Weather.”

In yet another embodiment, intra-program indexing is created using some constant time interval. The index shows a start and end time interval, and audio content excerpts.

In still another embodiment, indexing software analyzes the audio content of the program recorded (“Content Analysis Program”). This is typically in addition to using all indexing breakdown information transmitted in the VBI of the program. The Content Analysis Program uses speech and voice recognition technology to analyze, among other things, such variables as: changes in announcers, changes in tone, changes in speed, topical words, geographic locations, substantive words. The Content Analysis Program then creates a topical index in addition to the theme index described above.

7. Speed Sensitive Tape Capacity.

The EPG's Record Function provides a Record List that identifies the titles of programs that the viewer has selected to be recorded. The speed sensitive tape capacity feature uses color coding to identify in one color the titles that would fit on one tape at a fast tape speed and to separately identify, with another color, the titles that would fit on one tape at slow tape speed.

8. Record Instruction Conflict Resolution.

The EPG's Record Function recognizes conflicts in viewer record instructions. In one embodiment, the EPG's Record Function prompts the viewer to resolve the conflict. For instance, in the Record Function, the EPG would accept viewer instructions to record a particular program. The EPG compares the newly received record instruction to as-yet incompletely executed, or as yet unexecuted, record instructions in the Record List. If the EPG detects an overlap in date, time and duration between the newly received instruction on the one hand and one or more of the remaining record instructions in the Record List, the EPG formats a message to the viewer describing the conflict. The message describes to the user the newly received instruction to record a particular program and the conflicting record instructions in the Record List. In Record Function, the EPG will prevent entry of conflicting instructions into the Record List. The EPG will require that the viewer revise the record instructions to eliminate the conflict. In one embodiment, if the EPG detects that one recording instruction pertains to a “one occurrence” program that conflicts in date, time and duration with a recording instruction to record a “regularly recorded” program, the EPG would format an on screen message that would suggest to the viewer that the viewer select the “one occurrence” program to be recorded. In another embodiment, the EPG automatically “decides” to override the “regularly record” instruction and will record the “one occurrence” program with no further intervention by the viewer.

One way to resolve a recording instruction conflict is to chose an alternative occurrence of the conflicting program for recording. In one embodiment of the EPG, the viewer can highlight a particular program in the EPG and request a list of all occurrences of that program for the week. The viewer can then instruct the EPG to record an alternative occurrence of the program. In an alternative embodiment, the viewer can view an alphabetical list of all programs for the week. The viewer can mark a program for viewing or recording from the alphabetical list.

9. Recording from Theme Guides.

The EPG provides various Theme Guides, e.g., sports, movies, news, etc. When the viewer selects a particular Theme Guide, e.g., the Sports Theme Guide, the viewer can instruct the EPG to record an event while in the Theme Guide without having to exit the Theme Guide and go to the program Grid Guide. Fox instance, in the Sports Theme Guide, the viewer instructs the EPG to add a sports event to the Record List by clicking on the box score for a particular sports event and/or on the sports program listing in the Sports Theme Guide.

C. Improved Features to the EPG Display and Navigation

1. E-Mail.

In the preferred embodiment, the EPG interfaces with the Internet/World Wide Web. In the preferred embodiment, the viewer can access the Internet to send and receive e-mail.

In another embodiment, the television terminal is separately addressable, and the head end controls e-mail traffic between viewers on its network. To facilitate two-way transmission a 900 or toll free number is used as a back link. E-mail can then be sent to the appropriate viewer through the VBI to the viewer's separately addressable television.

2. Multiple Viewable “Windows.”

The EPG UI screen provides for multiple viewable “windows.” One window presents the EPG Grid Guide. Another window presents the picture-in-picture (PIP) window on which the currently tuned program is displayed. Another window displays advertising information (the “Ad Window”). Advertising may be in the form of graphics and textual information. Alternatively, advertising may be in the form of video display. In one embodiment, the Ad Windows are interactive.

As the viewer enters the EPG from the television mode, the PIP window is highlighted. The viewer can lock the PIP window. Locking the PIP window allows the viewer to continue to watch the television program being displayed in the PIP window while the viewer scrolls through the EPG program Grid Guide. Unlocking the PIP window causes the video for the program title highlighted in the Grid Guide to be displayed in the PIP window.

As described further below, the viewer can also highlight the Ad Window. Doing so will cause additional text describing the product to be displayed in the detail box are of the EPG Grid Guide.

If the Ad Window displays information about a particular product, pressing a record button will instruct the EPG to record an infomercial, to the extent that one is scheduled for a future time. Alternatively, the Ad Window can display information about a future-scheduled television program or about a series of programs to be telecast over a period of time. In that case, pressing a record button will instruct the EPG to record the future-scheduled program. Alternatively, the viewer can designate the program for the Watch List.

In one embodiment, the viewer navigates from the Grid Guide to the PIP Window by pressing the left arrow key until the cursor/highlighting reaches the PIP Window. From the PIP Window, the viewer uses the right arrow key to move back to the Grid Guide. In one embodiment, moving from the PIP Window to the Grid Guide causes the cursor to scroll to the very top of the Grid Guide lineup. From the top of the Grid Guide lineup, pressing the up arrow key moves the cursor to the navigation bar. The EPG provides several possible destinations on the navigation bar, e.g., info center, sports, news, set up, help, etc.

From the PIP Window, pressing the down arrow key moves the cursor to the Ad Window.

The viewer can set a default, or allow the system default, to highlight a particular navigation bar destination when the viewer initially enters the Grid Guide.

In another embodiment of this invention, the position and size of the windows and other user interface features are customizable by the viewer. This feature is similar to the PC user's ability under a Microsoft Windows operating system to control the size and position of various functional windows. The difference here is that, in contrast to, e.g., a Windows 95 operating system which allows the PC user to control the size and position of various functional windows on the face of a static PC monitor background, the present invention allows the television viewer to manipulate the PIP Window carrying a video signal of a first television channel tuned by a first television tuner and the various EPG Windows and EPG features on the face of the television monitor, while the television monitor continues to receive a second video signal of a second television channel tuned by a second television tuner.

3. Translucency On-Screen Effects.

In one embodiment, the EPG creates special translucency visual effects. To create the translucency effect, the system alternates the display format pixel by pixel—one pixel is the color of the overlay and the next pixel is transparent.

4. On-Screen Notifications.

The EPG formats on-screen notifications to the viewer and displays the notification to the viewer. On-screen notifications can be used to alert the viewer to any number of possible items of information. For instance, the EPG can notify the viewer that the EPG will begin recording a particular program within a certain amount of time, e.g., 2 minutes. The record notification could further ask the viewer whether to switch the cable box to record the program. If the viewer indicated that the viewer did not want the EPG to switch to the cable box to record the program, then the EPG would delete the program from the record list. Another example would be to notify the viewer that a program that may be of interest (e.g., as determined from analyzing the Viewer's Profile) will be broadcast on another channel within a certain amount of time, e.g., 2 minutes. The EPG could then ask if the viewer wants to view the program on the other channel. If the viewer indicates that the viewer wants to watch the program on the other channel, then the EPG will automatically tune to the other channel at the appropriate time. Alternatively, the EPG could ask the viewer is the viewer wants to record the program on the other channel and could then record that program at the appropriate tame if the viewer answers affirmatively.

If the television is in television mode, the notification will be displayed on-screen. The notification can be displayed in a number of ways, including: 1.) a complete screen overlay; 2.) a partial screen overlay; 3.) The zeal time program video is automatically changed to a PIP format, and the notification is displayed outside of the PIP window; 4.) The real time program video is automatically changed to a PIP format, and the notification is displayed inside of the PIP window; 5.) as a “watermark” somewhere on-screen; 6.) an on-screen icon is displayed which can be “pressed” by the viewer using the navigation keys on the viewer's remote control device, and which, if pressed, displays the notification in one of the above formats; 7.) the program video is compressed slightly to fit in some percentage, e.g., 90%, of the top of the screen, and the notification is displayed as a horizontally-rolling message at the bottom of the screen; 8.) the program video is compressed slightly to fit in some percentage, e.g., 90%, of the bottom of the screen, and the notification is displayed as a horizontally-rolling message at the top of the screen.

If the television is in some mode other than the television mode, the EPG can notify the viewer through some modification of one of the above-described formats. For instance, if the television is in the Grid Guide mode in a PIP format, then the EPG could use any of format numbers 1.), 2.), 5.), 6.), 7.), 8.) or, the EPG could notify the viewer by displaying the notification in the Ad Window, a virtual ad channel slot, in the detail information window, or in a horizontally-rolling message at the top or bottom of the screen.

5. Theme Navigation Bar.

The theme display is above the top of the Grid Guide. In one embodiment, the Grid Guide display provides for a “page up” on-screen button. In one embodiment, the Grid Guide display also provides for a “menu” button. The viewer can scroll to the top of the Grid Guide by successively “pressing” the page up on-screen button, or by “pressing” the menu button.

6. Improved Scrolling Through the EPG and Smooth Scrolling.

In the top level screen of the EPG in Grid Guide mode, the viewer user can jump directly to a future day of programming schedule information.

In one embodiment, the Grid Guide display provides for a “page up” on-screen button.

Program schedule information for a plurality of channels is displayed on a screen of the EPG in Grid Guide mode. Titles are shortened for display in the Grid Guide to conserve space. The entire title is available to the system and is displayed in the detailed description area of the Grid Guide when the viewer highlights a tile in the Grid Guide for the corresponding program listing. But the EPG shortens the titles, according to a set of rules for shortening the titles, so that the titles fit in the scheduling tiles of the Grid Guide.

The viewer can scroll up or down through the program listings. While scrolling, the titles are not drawn until the scrolling stops. Such a delay in drawing titles speeds up the processing and makes the screen appearance less confusing. While scrolling, the cursor will not highlight the top or the bottom tile on the screen unless the channel is the top or bottom of the lineup. The absence of highlighting signals to the viewer that more channels remain in the scrolled direction.

A further improvement to the EPG User Interface (“UI”) is the development of “Smooth Scrolling.” When the cursor reaches the second tile from the bottom, and a new tile appears on the bottom, the entire tile and its contents, e.g., a program title, grow gradually in height until the newly appearing tile reaches full tile height. At the same time, the tile that is disappearing from the top of the screen, and the contents of that top tile, shrink in height until the tile is gone. This provides a smooth transition in the overall screen display but is not actually perceptible because it is changing at 1/60 of a sec.

Smooth Scrolling is less disorienting to the viewer than a page by page screen change, which is the scrolling technique used in existing on screen guides. The entire bit map does not need to be redrawn as you scroll up one tile—only the top tile is shrunk or compressed in the vertical dimension.

In one embodiment, while slowly scrolling, the new title appearing on the screen is not redrawn until the scrolling stops. While rapidly scrolling multiple tiles, the processor stops redrawing the title on any of the tiles during the scroll; the processor waits until the scroll stops or slows down to redraw the titles. This permits faster scrolling because the titles do not have to be retrieved until the screen reaches the desired point. Redrawing the data is very processor intensive. A special interaction between the firmware and the hardware is required to minimize redrawing the bit map and retrieving data from memory. This applies to both vertical and horizontal scrolling. The user can remain oriented because the channel identifiers and schedule times remain displayed.

7. “Jumping” in the EPG.

The viewer can “jump” to the desired action or location in the EPG in a number of ways. In the Grid Guide, the viewer can jump to the channel slot for a particular channel by entering the digits of the channel identification number on the key pad of the viewer's remote control device. The EPG interprets the number and calculates the proper position for the EPG cursor. The EPG then displays the cursor at the appropriate channel slot on-screen.

In one embodiment, the viewer's favorite and/or most watched channels are displayed as buttons on a favorite channel selection bar somewhere on the EPG display of the Grid Guide. The viewer can jump to one of the viewer's favorite channels by “pressing” the appropriate channel button.

In another embodiment, the viewer's remote control device displays letters associated with the numbers on the key pad. The viewer can use a special “Alt” key to allow the viewer to press the keys as if alphabetic and/or alphanumeric. In this way, the viewer can enter a channel identifier, such as “CNN”.

In yet another embodiment, the viewer can request a pull down menu of favorite channel identifiers and can select a channel from the pull down menu.

In yet another embodiment, the viewer can set “bookmarks” in the EPG by using a “bookmark” key on the viewer's remote control device, or alternatively, a “bookmark” button on the EPG display. The viewer can press the “bookmark” key when the user wants to mark a current location for later return. The viewer can then scroll, jump, or otherwise navigate away to some other location in the EPG. When the viewer wants to return to the book marked location, the viewer can press the “lastmark” key (on either the viewer's remote control device, or alternatively on the EPG display). The EPG can record a plurality of book marked locations. In one embodiment, the EPG can remember book marked locations after the viewer turns off the television and then turns on the television multiple times.

8. Thematic Color-Coding of Program Schedule.

The EPG categorizes programs according to a plurality of themes. In one embodiment, the EPG color codes the presentation of the program in the Grid Guide according to the theme categorization assigned to the program.

9. Controllable Number of Days of Programming.

Typically, the EPG will carry only 2 days of program listings. At the viewer's selection, the EPG can carry only a single day of program listings. The single day option provides a smaller range of program listings but increases response time. Alternatively, the viewer can select to carry any number of days of program listings, up to the number of days that is provided for by the particular installation, which is set by the corresponding amount of memory storage available.

D. Parental Control of the EPG Display

The Parent viewer initially enters the Parental Control Function during initial EPG setup procedures. In the EPG setup procedure, the Parent identifies all viewers of the television, and assigns individual viewer Identifiers. The Parent viewer also establishes a password for said Parent viewer. U.S. Provisional Patent Application Ser. No. 60/085,401 (“V-CHIP Plus+: In-Guide User Interface Apparatus and Method for Programmable Blocking of Television and other viewable programming such as for Parental Control of a Television Receiver”) describes Parental Control setup procedures for the identification of individual viewers and initialization of password protection, the disclosure of which is incorporated by reference here as if fully stated herein.

In the Parental Control Function, the Parent selects the channels and programs that can be visible in the Grid Guide for a particular viewer and selects channels and/or programs that are to be blocked from viewing. Child viewers, as identified during setup procedure, will view a simplified Grid Guide and will be blocked from viewing the programs so marked by the Parent. In one embodiment, individual viewers are identified by viewer ID and password. In another embodiment, individual viewers have different remote control devices, the use of which is also password protected.

E. Improved Television Program Information Access by the Viewer

1. Virtual Channel Ad Slots and Ad Window Program Advertisements.

As described below, the EPG provides the viewer with multiple opportunities to obtain detailed information about television programs. As is further described below, the EPG provides the viewer the opportunity to select Virtual Channel Ad Slots or Ad Window displays that advertise future-scheduled television programs and get additional information in the way of text or video clips.

2. Additional Detailed Information for Viewer Access Including Link to the Internet.

The EPG displays detailed information relevant to program listings in the detailed information area of the Grid Guide. The detailed information can include, among other things, a detailed textual description of the program, information about the actors and actresses, information about the production of the program, product related information, identification of relevant Internet web sites and online Internet chat rooms. The EPG provides the viewer with the ability to request detailed information from such guides/data services in a number of ways, including when the viewer highlights: a particular program in the Grid Guide, the Ad Window, or a Virtual Channel Ad Slot. In one embodiment, the viewer's remote control device has a power “Information” key. When the viewer has navigated the on screen highlighting/cursor to a particular tile or window on the EPG on screen display, the viewer can press the remote control device “Information” key to request the additional information

In one embodiment, when the viewer highlights a particular program in the Grid Guide, the Ad Window, or a Virtual Channel Ad Slot, or other requests access to detailed program-related information, the EPG connects the viewer with an external database of information, such as with a particular web site on the Internet. The viewer can instruct the EPG to connect the user with detailed specialized information guides/data services, such as sports, news, or other guides/data services. In one embodiment, the linking to the external data source is accomplished by storing a web site address with the Ad Window or Virtual Channel Ad Slot advertisement in the RAM of the user terminal.

A sports program listed in the Grid Guide provides an illuminating example of how the viewer interacts with such a detailed specialized information guide/data service. When the viewer highlights a football game listed in the Grid Guide, the normal detail concerning the program is displayed in the detailed information are of the Grid Guide. Furthermore, multiple icons related to the highlighted program can be displayed in the Grid Guide. One icon alerts the user that the game is already underway. Another icon indicates the availability of specialized guide information. The viewer can select the program from the Grid Guide for viewing and/or recording. In addition, the viewer can select the specialized guide icon. In the case of a sports program, selecting the specialized guide icon would display, for instance, a scoreboard for the game if the game were already in progress in the detailed information area of the Grid Guide. If the game were scheduled for a future time, then selecting the specialized guide icon would display, for instance, information about the players, the teams, and perhaps, the odds about the game.

Another icon, displayed for instance in the display of the sports guide scoreboard, provides the viewer with the option of connecting to the Internet, e.g., to a particular web site that provides additional information about the game, possibly, including online chat about the game. In one embodiment, the EPG switches to full screen to display of the Internet web site. In another embodiment, the EPG displays the Internet web site in the area of the screen previously occupied by the Grid Guide and/or the Grid Guide and the Ad Window, while continuing to display the real time video display of the currently tuned television program in the PIP window. Alternatively, the EPG can display the Internet web site in the PIP window and display the currently tuned television program in the area of the screen previously occupied by the Grid Guide and/or the Grid Guide and the Ad Window. The Internet web site to which the EPG initially connects (the “contact web site”) may be a specialized directory, using pre-determined hyperlinks to the viewer to other cites of interest. The contact web site may additionally, or in the alternative, offer search capabilities to the viewer to locate information of interest.

Once the viewer is connected with a specialized information guide/data service, the viewer can use the guide/data service to direct the viewer to particular information contained in the EPG Grid Guide. For instance, a viewer selects a news program to watch. While watching the news program, the news broadcaster describes an event involving astronauts. The viewer selects the news guide/data service icon and connects to a web site on the Internet describing, among other things, additional information about the particular event involving the astronauts. The viewer uses the search engine offered by the contact web site to locate additional information about the same astronauts. At the subsequent web sites, a Discovery Channel program is mentioned concerning some of the same astronauts. The viewer instructs the EPG to locate any occurrence of the referenced program and to schedule that program to be recorded. In one embodiment, a PLUS CODE-like address is used to link to, or record, the scheduled program.

The viewer can search an index, available on the Internet and created by a news data service, of recorded television news programs and reports. The viewer can search the index. If the viewer selects one of the indexed reports, a video clip of the indexed report will be shown in the area on the screen occupied by the Internet web site display, or any alternate area or portion of the on-screen display. The viewer can instruct the EPG to record the video clip.

The EPG is capable of integrating additional information provided by the special data services into the EPG display. For instance, in the case of a sports data service, the EPG can format the program listing display and/or the sports scores for a game with special color coding depending upon the stage of the game. For instance, if the game is in progress, the EPG will format the program listing and/or the sports scores for that game with one color, e.g., green; if the game is completed, the program listing and/or the final scores can be in a different color, e.g., blue. If the game is in progress, the viewer can highlight and select the box score to move from the box score to the game shown on the television. In one embodiment, the selected television sports program appears in the PIP Window or the Ad Window, allowing the viewer to read the sports program-related story in the sports guide while watching the corresponding television sports program.

The EPG is further capable of linking between news items in a special news guide and related television programs. The viewer can link to a news program to watch or record that program by highlighting and selecting a news item in a news guide. In one embodiment, the selected television news program appears in the PIP Window or the Ad Window, allowing the viewer to read the story in the news guide while watching a tv news program that reports on the event.

In one embodiment, the VBI for selected channels are dedicated to the delivery of a special data service. For instance, the ESPN VBI would carry the sports data service only. In one embodiment, as an incentive to carry this data, the data service would display the ESPN TV program in the PIP window. Since the tuner must be set to ESPN to capture the data, the television signal is available for display in the PIP.

F. Improved Opportunities for the Commercial Advertiser to Reach the Viewer

1. Ad Window Product-Related Video Clips and Infomercial Recording

The EPG provides producers of infomercials with extended capabilities to reach the viewers through the Ad Window. Because of the cost of buying advertising time, a growing number of product manufacturers and marketers produce infomercials about their products and then buy relatively inexpensive air time for their infomercials according to off-prime-time schedules, often on non-prime channels. The EPG provides the producers of infomercials with the opportunity to provide the viewer with the opportunity to record an infomercial that is broadcast at a time, or on a channel, that would be inconvenient for the viewer to watch real-time.

If the Ad Window displays information about a particular product, pressing a record button will instruct the EPG to record an infomercial or advertisement, to the extent that one is scheduled for a future time. Alternatively, the viewer can designate the infomercial or advertisement for the Watch List. Alternatively, the EPG provides the producers of infomercials with the opportunity to provide the viewer with the opportunity to view a video clip about the product being advertised.

In one embodiment, the video clip associated with the product and/or program displayed in the Ad Window is shown when the viewer highlights the Ad Window. Depending upon the embodiment and/or viewer option selections, the video clip is shown in the PIP window, in the Ad Window, or full screen. At the conclusion of the video clip, the EPG typically returns to the mode in which the viewer was operating immediately before selecting the option that triggered the display of the video clip.

2. Ad Window Program-Related Recording

The EPG provides distributors of television programming with additional opportunities to reach the viewer. The Ad Window can display information about a future-scheduled television program. If the viewer is interested in recording the program, the viewer can take a number of alternative actions. For instance, in one embodiment, the viewer can instruct the EPG to record the future-scheduled program. In one embodiment, the viewer presses record button on the remote control device to instruct the EPG to record the future-scheduled program. Alternatively, the viewer can instruct the EPG to add program to the Watch List. Alternatively, the viewer can instruct the EPG to display a video clip about the program. Yet further, the viewer can instruct the EPG to connect the user with detailed specialized information guides/data services, such as sports, news, or other guides/data services. The EPG provides the viewer with the ability to request detailed information from such guides/data services in a number of ways, including when the viewer highlights: a particular program in the Grid Guide, the Ad Window, or a Virtual Channel Ad Slot. In one embodiment, the EPG displays relevant detailed information in the detailed information area of the Grid Guide. In another embodiment, the EPG connects the viewer with an external database of information, such as with a particular web site on the Internet.

3. Panel Ads.

In one embodiment, Panel ads occupy a fixed area in the Guide and are generally filled with paid advertisements. Located directly below the PIP in an Ad Window, space is available in the Guide for two Panel ads. Each Panel ad occupies approximately 1/9th of the total screen area. The usable area of a Panel ad is 132 pixels high×160 pixels wide, with 2 pixel wide black borders all around and 2 pixels of gray on the left and right sides and between the two ad spaces. When a given ad space is not sold, the space will be filled with a Placeholder ad, stored in ROM, and inserted in the available space, or with a bonus ad.

An advertiser may purchase both 1/9th screen areas, thus creating a single ad with a usable space of 270 pixels high by 160 pixels wide, with 2 pixel wide black borders all around and 2 pixels wide of gray on the left and right sides.

In one embodiment, all Guide screens are made up of “hard pages.” A hard page is defined as an area comprising 9 channel slots. Each time a user scrolls below the 9*x channel slot, a new “hard page” appears. Scrolling back up will bring the previous hard page back into view. Each hard page may have different Panel ads associated with it.

In one embodiment, Hard pages are defined differently in the Sort screens. Each sort category (e.g. Movies, Sports, Children's) will be considered one hard page regardless of the number of items in the list vertically. As the user moves

-   -   Panel ad Pair 2 with channels 9-16 and the second Channel ad     -   Panel ad Pair 3 with channels 17-20 and the third and fourth         Channel ads

If the user turned on more channels requiring the addition of a fourth hard page, then the fourth Panel ad Pair would become visible.

In one embodiment, the user can highlight these ads, resulting in the automatic display of an expanded information box. This expanded information box covers the entire right-hand ⅔rds of the grid. The user closes the expanded information box by moving the highlight off the Panel ad or by pressing the information button after the last related information box screen has been presented. FIGS. 10 a and 10 b are graphic representations of sample on screen EPG displays depicting one embodiment of the feature of presenting additional information concerning the subject matter of a highlighted Panel Ad Window.

In one embodiment, Panel ads are surrounded by flat black borders. When a panel ad is highlighted, the border turns yellow. When a program is set to record the border turns red (dark red when the Panel ad is not highlighted, light/bright red when highlighted). When a program is scheduled to watch, the border turns orange (dark orange when the Panel ad is not highlighted, light/bright orange when highlighted).

In one embodiment, there can be multiple information “screens” displayed sequentially in the expanded information box. Pressing the Info. button while an ad is highlighted accesses these additional screens. There is no finite limit to the number of additional screens; memory limitations and selling requirements will limit this number.

In one embodiment, if a Panel ad is highlighted, has show information associated with it, and the advertised show is currently on, the user may tune directly to the related program by pressing the Left Action button (the Blue button which is labeled “Watch”) or by pressing the Enter/Select button on the remote. Pressing the Watch button also places the show in the Record/Watch Schedule for the duration of the show to allow the user to set the frequency to daily or weekly. If the show is not currently on, pressing the Left Action button places the show in the Record/Watch Schedule or; pressing the Enter/Select button tunes to the channel related to the show in the ad. Shows added to the Record/Watch Schedule may be set to be viewed: once, daily, or weekly. The Watch feature and related Action button labels operate in the same way as if scheduling a show to watch from the Grid.

In one embodiment, if a Panel ad has show information associated with it, the show may be recorded by highlighting the ad and pressing the Right Action button (the Green button, labeled “Record”). If the show is on now, recording begins immediately and the show is placed in the Record/Watch Schedule for the duration of the show to allow the user to set the frequency to daily or weekly. If the show is on in the future, that show is added to the Record/Watch Schedule for auto-recording. Shows added to the Record/Watch Schedule may be set to be recorded: once, daily, or weekly. The Record feature and related Action button labels operate in the same way as if scheduling a show to record from the Grid.

In one embodiment, Panel ads can be dynamic. There are two areas which may be dynamic: 1.) the Panel ad space; and/or 2.) the Information box.

The Panel ad area may change over time, e.g., every x seconds rotating through a plurality of different graphical or textual ad executions in the Panel ad space. When a Panel ad is highlighted, the ad rotation stops on the currently displayed ad visual. The dynamic rotation does not restart until the Panel ad is de-highlighted.

The information box text associated with the Panel ad may change over time, e.g., every y seconds, rotating through a plurality of different screens of text. The screen rotation stops if the user presses the Info. Button, displaying the first page of info. text. This option is available for advertisers to rotate different headlines in the information box. The user may view subsequent pages by pressing the Info. button again. The screen rotation does not restart until after the Panel ad is de-highlighted.

4. Virtual Channel Ad Slots.

The EPG provides producers of infomercials with extended capabilities to reach the viewers through Virtual Channel Ad Slots, also referred to as Channel ads. Virtual Channel Ad Slots appear as rows of the Grid Guide and typically show the titles of the programs that are scheduled for a particular channel. The EPG Grid Guide's Virtual Channel Ad Slots provide advertisement to be displayed as a row in the Grid Guides schedule of programs. The Virtual Channel Ad Slots may be used to provide multiple exposures of a particular program in the guide. The Virtual Channel Ad Slots act like a channel entry in the Grid Guide in that the viewer can record, watch, schedule for watching, and/or get information about the advertised program in the information detail box of the Grid Guide.

In FIG. 1 of the drawing, tile 52 shows an example of a Virtual Channel Ad Slot for an ad for a television program—it is a program listing that is out of place channel-wise and time-wise in the Grid Guide 22. That is, it does not appear in the usual channel position or time position in the guide, but the tile is otherwise like the other program listing tiles of grid guide 22 (including height), except that it occupies the entire width of the tile irrespective of the duration of the program.

A tile for a normal program listing scrolls off the screen as the up and down arrow keys are pressed. In contrast, in one embodiment, a Virtual Channel Ad Slot, such as shown in tile 52, remains on the screen at all times as the up and down arrow keys are pressed, so the ad remains in view at all times.

Channel ads do not occupy a fixed area. Channel ads are essentially inserted between channels in the grid. If there are no Channel ads sold, the grid will simply be a continuous list of channels/show tiles with no gaps. As these channel ads take up a channel slot in the grid, it is desirable to limit how many are likely to appear on any one screen to ensure the Guide is a useful source of TV programming information. Typically, there will be approximately 1 Channel ad per hard page.

Channel ads are typically the height of a channel slot, the width of the grid and are intermingled with the channel listings. The usable area for a Channel ad is typically 24 pixels high×344 pixels wide, with 2 pixel wide bevels all around.

There are several types of Channel ads, including: Relative, Parent, and Fixed position Channel ads.

Relative Channel Ads appear in a position relative to the top of the grid and are spaced every n channel slots, where n is some number. These ads appear and disappear as the user pages through the Guide's hard pages. It is anticipated that n will usually (but not necessarily always) equal 9 since this is the number of channels in the PIP version grid. This would provide for one ad per hard page. A location for the first ad can be selected on the first page and subsequent ads follow every n channel slots. The same ad is repeated every n^(th) slot. This method of repeating every n^(th) channel slot is true for both PIP and non-PIP versions. Typically, as a user turns channels off, the spacing of these ads remains constant (every n channel slots). In the event that there are not enough channels to continue this spacing, ads will appear at the end of the grid listings.

Parent Channel ads are related to a specific channel located directly above the ad. A Parent Channel ad is attached to its adjacent “parent” channel (that is, the ad follows the parent channel). As it is desirable to limit the number of Channel ads seen on any one screen, the number of Parent ads will typically be limited. Additionally, if the parent channel is turned off, the ad will typically be displayed at the bottom of the grid.

Fixed Position Channel ads are located in one specific location, y (where y is some number) channels down from the top of the grid. If y is greater than the number of channels in the grid, the ad will be located at the end of the grid.

Except as noted above regarding Parent and Fixed Position Channel ads, Channel ads will typically be spaced so that no more than one Channel ad is displayed at one time.

In one embodiment, Channel ads page vertically along with the channel listing information. These ads remain in a fixed position when the grid is scrolled horizontally. The user can highlight these Channel ads just as any show title can be highlighted. When highlighted, these Channel ads display additional information in the info. box just as when any channel is highlighted.

Channel ads are typically surrounded by bevels just like any show tile. Channel ad highlighting is typically similar to Panel ad highlighting. In one embodiment, when a user highlights a Channel ad, the bevels change to a flat (non-beveled) yellow border. When a Channel ad show is set to record the border turns red (dark red when not highlighted, light/bright red when highlighted). When a Channel ad show is scheduled to watch, the border turns orange (dark orange when not highlighted, light/bright orange when highlighted).

In one embodiment, Channel ads can have multiple, sequential info. box “screens” of information. The availability of this additional information is indicated by an “i” icon. The user can access the additional information by pressing the info. button.

In one embodiment, if a Channel ad is highlighted, has show information associated with it, and the advertised show is currently on, the user may tune directly to the related program by pressing the Left Action button (the Blue button which is labeled “Watch”) or by pressing the Enter/Select button on the remote. Pressing the Watch button also places the show in the Record/Watch Schedule for the duration of the show. If the show is not currently on, pressing the Left Action button places the show in the Record/Watch Schedule for future auto-viewing; pressing the Enter/Select button tunes to the channel related to the show in the Channel ad. Shows added to the Record/Watch Schedule may be set to be viewed: once, daily, or weekly. The Watch feature and related Action button labels operate in the same way as if scheduling a show to watch from the Grid.

In one embodiment, if a Channel ad has show information associated with it, the show may be recorded by highlighting the ad and pressing the Right Action button (the Green button, labeled Record). If the show is already being delivered in the television signal, recording begins immediately and the show is placed in the Record/Watch Schedule for the duration of the show. If the show is on in the future, the show is added to the Record/Watch Schedule for recording. Shows added to the Record/Watch Schedule may be set to be recorded: once, daily, or weekly. The Record feature and related Action button labels operate in the same way as if recording a show from the Grid.

Channel ads can be dynamic.

5. Placeholder Ads

In one embodiment, when the Guide is first setup, the initial download of information will not have been received. The Panel ad spaces must be filled with Placeholder ads that are stored in ROM. These ads must be “timeless” as they will appear each time a TV is set up, either for the first time or after a power outage.

One use for the Panel ad space is for help text. Help text that draws the user to select the ad space could serve as a “tutorial” on how to access Panel ads, the additional information on info. screens, and how to Watch and Record from ads.

6. Full Screen Ads.

When the viewer first enters the EPG, the EPG can display a full screen ad, such as an ad that would be displayed in the Ad Window. The viewer can interact with the full screen ad in the same manner in which the viewer can interact with the Ad Window. That is, the viewer can instruct the EPG to record, or to add to the watch list, the infomercial or program, if there is one, that is associated with the advertisement.

7. Automatic Watch Channel.

Rather than have the last channel watched as the first channel tuned the next time that the viewer turns on the television, a channel selected by the viewer could be automatically tuned. In one embodiment, the viewer indicates the Automatic watch channel in the Watch List Function of the EPG. In another embodiment, a broadcaster sends an on-screen query to each viewer to enter a command if the viewer wants the broadcaster's channel to be the first watched channel when the viewer first turns on the television.

8. Ad Features.

Ads may feature, among other things, a graphics field, a text field or a combination of a graphics and text field.

Graphics are typically presented in 8 bit/pixel (using “320 mode”), 4 bit/pixel (in “640 mode”) and 1 bit/pixel images. In some embodiments, there will be memory limitations. In embodiments with such memory limitations, it is expected that Panel ads will contain graphics no larger than 25% of the ad area when 4 or 8 bit/pixel graphics are used. 100% of the area may be used for a 1 bit/pixel graphic. Channel ad graphics will typically, but not necessarily, be limited to the channel logo portion of the ad. (The use of the word “typically” here, and elsewhere in this application, means “typically, but not necessarily.”) The remaining portion of the Channel ad will typically be text only.

Displayed text will typically have the following characteristics:

-   -   available normal and condensed 18 and 24 point fonts     -   oblique version of the fonts     -   underlining     -   bold     -   centering     -   left and right justification     -   color can be selected once per line     -   Text could also be displayed as a 1 bit/pixel bitmap in the         Panel ad areas only.

Background colors will have an impact on the overall look and usability of the Guide. The following describes a typical embodiment.

Panel ad background colors may be selected by the advertiser and will typically be subject to luminance constraints set forth below.

Channel ad background colors may be restricted. Show tile background colors are used as keys for show categories (movies, sports, etc.) and actions taken on a show (set to record or watch). While most any background color could be displayed it is desirable to maintain the integrity of the show tile color schemes. Therefore, it is likely that a limited set of background colors or a set of colors which can not be used will be specified for advertising agencies to use when developing Channel ad creative. Channel ad backgrounds will typically be subject to luminance constraints set forth below.

The Info. box background will typically be gray and typically can not be changed by the advertiser.

There are typically limitations on the luminance of the colors in the ads. If the luminance is set too high, the screen image will blister. These limitations will be set, according to the embodiment, and communicated to the advertisers for their development consideration. Ads that do not comply with luminance restrictions for the particular embodiment will be subject to default override limitations.

In one embodiment, the viewer can interact with the ads and the television. For instance, Tune-in ads will allow the viewer to tune directly to a show in progress from a highlighted ad block assuming the ad block has program information associated with it. An in progress show associated with an ad is directly tuned by pressing either the Enter/Select button or the Left Action button (the Blue button labeled “Watch”).

Direct-record ads will allow the user to record a show in progress or scheduled to be on in the future from a highlighted ad block. There is no practical limit on how far into the future a direct-record associated show may be scheduled to air. A show associated with an ad is recorded by pressing the Right Action button while the ad is highlighted. The user may select a record frequency of once, daily or weekly. From an ad, the user presses the Right Action button (the Green button labeled “Record”) to place the show in the Record Schedule. In the event that the show is currently on, pressing the Right Action button while highlighting an ad allows recording of the show in progress. The show title is also placed in the Record Schedule until the show ends in the event the user wishes to modify the record frequency to daily or weekly.

Watch ads consist of a program advertised in any ad space. The program advertised may be placed into the Watch Schedule as long as the ad block has program information associated with it. There is no practical limit on how far into the future an associated show may be scheduled to air. The Watch feature operates much the same way as the Record feature, except that it tunes the television (“TV”) to the show rather than recording it. If a user is watching TV, the channel automatically changes to a show placed in the Watch Schedule when the show begins. If the TV is turned off when a show in the Watch Schedule is scheduled to begin, the TV is turned on and tuned to the desired channel (TV implementations only, not VCR.) The user may select a watch frequency of once, daily or weekly. From an ad, the user presses the Left Action button (the Blue button labeled “Watch”) to place the show in the Watch Schedule. In the event that the show is currently on, pressing the Left Action button while highlighting an ad results in tuning directly to the show. The show title is also placed in the Watch Schedule until the show ends in the event the user wishes to modify the watch frequency to daily or weekly.

Ads may have multiple levels of information. Typically, First Level Information is the ad copy and/or graphics that are presented on screen with no user action. This comprises the Panel and Channel ad areas.

Typically, Second Level Information (if provided by the advertiser) is automatically made visible (“Auto-Open”) when the user highlights an ad block by scrolling onto it. This secondary information is presented in the info. box when a Channel ad is selected and in an automatically expanded version of the info. box that covers the entire channel grid area when a Panel ad is highlighted. The “i” icon on the ad, placed at the advertiser's discretion, indicates there is more information available for that ad. The second level information may be text and/or graphics depending on memory availability.

Typically, Third Level Information (if provided by the advertiser) availability is indicated by the info. button “i” on a Second Level information screen. Pressing the info, button accesses this information and cause the information box to expand for Channel ads to cover the entire grid area. This information can be multiple pages long. Pressing the info. button successive times cycles the user through the multiple pages. Pressing the info. button from the last available screen causes the information box to contract to its original size for all ads. The third level information may be text and/or graphics depending upon memory capabilities.

Ad Blocks can be dynamic. Memory permitting, the Panel ad graphics and/or text and information box text may change every X (where X is some number) seconds rotating through a limit of N (where N is some number) different graphical or textual executions. There is the capability to limit the number of dynamic ads displayed at any one time.

Ad duration and start time/end time can be scheduled and/or dynamic. In one embodiment, ads are to be displayed at a given start time with a related end time. The time between the start and end is the ad's duration. The minimum duration increment is typically 60 seconds. In one embodiment, an ad will not be replaced automatically when an ad's end time arrives. Ads will only change when the user's actions cause a new “hard page,” or new section of the guide to appear (e.g. going from the Grid to Sort).

Ads can rotate. For example, different ads can appear each time the user enters the same page/section of the Guide. There is no hard limit on the number of ads placed in rotation. Ads can be assigned a priority with the ad of the highest priority being displayed the first time a hard page or section is accessed. Then the second priority ad is displayed the next time the user views this page and so forth. The priority counter is page dependent, meaning that if the user views the first page for a third time, they will see the third priority ad on that page and if they then scroll to the second page for the first time, they will see the first priority ad on the second page.

Ads may differ by the section of the Guide being viewed. For example, if a user is viewing the Sports theme area, an ad for ESPN Sports Center may appear, whereas a different ad was presented when the user was on the main grid.

The EPG can determine which advertisements to display depending upon the advertisement being displayed on the television channel that the viewer was watching immediately before entering the EPG. That is, if a Toyota advertisement was being shown on the channel that the viewer was watching at the time that the viewer entered the EPG, then the EPG can be timed to display a correlative Toyota advertisement in some portion of the EPG, e.g., the Ad Window. a television program.

In one embodiment, the EPG tests the Viewer Profile to determine which ad to display at various times during the viewer's session with the EPG. The EPG can assign Ad and Page priorities to represent the advertisers' investment and the relative viewer's profile.

Graphically dynamic ads typically present different graphics every x seconds (where x is some number, with x as small as 1.0 second) rotating through n (where n is some number) graphical or textual executions. Typically, only a limited number of these ads will be displayed at any one time (likely a maximum of 1 per screen) as busy screens will decrease the effectiveness of the ads and the utility of the Guide.

Ads must be “identifiable” and “accessible” once placed in memory in order to allow advertisers to “pull” an ad, to update an ad, or to correct errors in transmission.

G. Improved Product Information Access by the Viewer

1. Ad Window Product Detail.

The viewer can highlight the Ad Window to locate additional information about the product advertised. In one embodiment, the viewer highlights the Ad Window by pressing the arrow/directional navigational keys of the remote control device to navigate the remote control device pointer to the location of the Ad Window on the on-screen television monitor display. When the remote control device pointer is located at the Ad Window on the on-screen television monitor display, the on-screen display of the Ad Window will be highlighted. In one embodiment, the color of the Ad Window itself will become brighter or show a lighted effect. In another embodiment, the color of a border surrounding the Ad Window will become brighter or show a lighted effect. Highlighting the Ad Window will cause additional text describing the product to be displayed in the detail box are of the EPG Grid Guide. Alternatively, the EPG provides the producers of infomercials with the opportunity to provide the viewer with the opportunity to view a video clip about the product being advertised.

The Ad Window can be optionally interactive. The Internet address of a web site containing information relevant to the ad being displayed in the Ad Window can be displayed in the Ad Window as a web site address, as an icon, or in some other graphical presentation, such as a stylized “i” indicating additional interactive information. Furthermore, the viewer's interaction with the Ad Window will be monitored by the EPG to record as part of the viewer's profile.

2. Ad Window Product-Related Recording

The EPG provides viewers the opportunity to access extended product information about which the viewer is interested. Because of the cost of buying advertising time, a growing number of product manufacturers and marketers produce infomercials about their products. Because of the cost of air-time, many manufacturers and marketers buy relatively inexpensive air time for their infomercials according to off-prime-time schedules, often on non-prime channels. The EPG provides the viewer the opportunity to record an infomercial that is broadcast at a time, or on a channel, that would be inconvenient for the viewer to watch real-time. If the Ad Window displays information about a particular product, pressing a record button will instruct the EPG to record an infomercial, to the extent that one is scheduled for a future time. Alternatively, the viewer can designate the infomercial for the Watch List.

3. Ad Window Program-Related Recording

The EPG provides viewers with additional opportunities to instruct the EPG to record or watch a future-scheduled television program. The Ad Window can display information about a future-scheduled television program. If the viewer is interested in recording the program, the viewer can instruct the EPG to record the future-scheduled program. In one embodiment, the viewer presses record button on the remote control device to instruct the EPG to record the future-scheduled program. Alternatively, the viewer can instruct the EPG to add program to the Watch List. Alternatively, the viewer can view a video clip about the program.

H. Creation of a Viewer's Profile

1. Collecting Viewer Profile Information.

The EPG requests that the viewer provide certain profile information, including but not limited to: the viewer's zip code; television, cable, and satellite services to which the viewer subscribes; the length of said subscriptions; the type of television; the age of the television; where the television was purchased; the viewer's top favorite channels; the viewer's favorite types of programs; and the times during which the viewer is most likely to watch television. If the viewer declines to provide this information, the EPG will attempt to “learn” the information as described below.

In one embodiment, the EPG is capable of distinguishing between individual viewers and develops individualized profiles. For instance, in one embodiment, each viewer has an individual PIN or other identification number. In another embodiment, each viewer uses an individualized remote. In yet another embodiment, there is an absence of a way to distinguish one viewer from another. In that case, the profile is developed for the “family.”

Every time the viewer interacts with the EPG or the television, the EPG records the viewer's actions and the circumstances surrounding those actions. For instance, when the viewer changes channels, the EPG records, among other things, information about the first channel, the changed-to channel, the time that the change was made, the identification of the programming that was displayed on the first channel, the identification of the programming that was displayed on the changed-to channel, the time of the change, the identification of any advertisement that was displayed on the first channel at the time of the change, the identification of any advertisement that was displayed on the changed-to channel, and whether the viewer changed channels while in one of the EPG modes, as opposed to being in the television mode. The EPG will also record every instruction by the viewer to record or watch a program, whether the instruction is Once, Daily, Weekly, or Regularly. The EPG will also record whether the viewer changes the volume of the television audio, and if so, what circumstances surrounded the change in volume. If the viewer changes channels while in one of the EPG modes, then the EPG records information about what was displayed in each of the windows of the EPG UI before and after the change.

The EPG also records information when there is an absence of interaction between the viewer and the television or the EPG. For instance, the EPG will record whether a viewer continues to view an advertisement rather than changing channels. The EPG calculates and records the entire duration of the time that the television is on in any particular day.

The EPG also records information surrounding the viewer's interaction with external sources of information, such as the Internet. For instance, the EPG records each search query criteria initiated by the viewer, the Search Engine used to make the search, the items selected by the viewer from the search response, interaction by the user with Internet sites, and viewer interactions with the EPG during the same time-frame as the viewer interacts with the Internet.

An alternative to the above-described individual viewer profile information collection would be to provide on-screen survey queries. That is, the EPG could display an offer on-screen that would tell the viewer to call a toll-free number for the purpose of reading an on-screen encrypted number for the survey in exchange for a gift certificate. The offer could be made only to viewers watching a particular program or particular advertisement at a particular time. Survey responses would provide useful information further survey customization, customizing the guide, and targeting advertising.

2. Analyzing and Characterizing Viewer Profile Information.

The viewer profile information (data collected concerning, and surrounding, a viewer's interaction with the television, the EPG (including the recording and watching functions), the Internet, the World Wide Web, and any other sources of information external to the EPG, but through which the viewer interact)) can be sent to a computer at the head end of television distribution for analysis, or in the alternative, can be analyzed by the EPG.

Information about the viewer is captured on an ongoing basis. Similarly, viewer profile data is updated on an ongoing basis. Accordingly, the viewer profile analysis program (the “Profile Program”), can be repeated at some time interval to incorporate additional information about the viewer that has been captured since the last analysis. Alternatively, the Profile Program is a real time program that processes each discrete item of information about a viewer as the data is captured.

The viewer profile analysis program (the “Profile Program”), may be resident at the head end, in the Internet, included as part of the EPG, or distributed among these various possible locations. The Profile Program performs a variety of different types of analysis on the viewer profile data. For instance, the Profile Program performs simple statistical analysis of the data collected. The Profile Program accumulates, among other things, the number of times that the viewer: interacted with the EPG during a particular viewing session; performed particular types of interactions with the EPG; watched a particular channel; interacted with the Internet during a particular viewing session, interacted with a particular website; watched and/or recorded and/or scheduled to watch a program with a particular type of theme (e.g., comedy, sports, drama, movie, sitcom, science fiction, adventure, mystery, documentary, cooking, travel, etc.); and watched and/or recorded and/or scheduled to watch a program with a particular type of subject (e.g., golf, tennis, football, basketball, baseball, animals, food, etc.), or a particular actor or actress. The Profile Program also calculates the duration of each viewing and compiles, among other things, statistics about the times of day and days of the week during which the viewer watches television, interacts with the EPG, or interacts with the Internet or the World Wide Web.

Using the basic viewer profile data and the simple statistics collected about a particular viewer, the Profile Program “learns” to recognize a finer breakdown about the various types of data collected and then uses the learned information to describe a “Viewer Preference.”. For instance, if the Profile Program detects that the viewer watches sports programs, and that a number of sports programs are basketball games, the Profile Program analyzes the teams involved in the programs watched. The Profile Program is able, in this manner, to determine whether the viewer is a fan of a particular team. If so, the Profile Program records the viewer's team affiliation as a Viewer Preference.

The Profile Program performs multiple levels of sophisticated analysis and learning involving numerous comparisons of the basic viewer profile data and the simple statistics collected about a particular viewer to develop Viewer Characteristics. In this way, the Profile Program develops a multi-dimensional profile of the viewer. For example, once the Profile Program detects a Viewer Preference, the Profile Program compares, e.g., the number of times that the viewer interacts with the EPG or an external information source such as the internet/World Wide Web, during a telecast of a program that relates to the Viewer Preference (e.g., a basketball game involving the viewer's favorite team) with, e.g., the number of times that the viewer interacts with the EPG or an external information source such as the Internet/World Wide Web, during a telecast of a program that does not relate to the Viewer Preference.

Further, the types of interactions in both sets of circumstances are analyzed. In this way, the Profile Program determines Viewer Characteristics relating to, among other things: attention span; general interest in product advertisements; interest in specific types of product information; propensity for impulse buying; correlation of impulse buying habits to price ranges, product types, and advertising formats; interest in recording and/or watching future-scheduled programs; interest in accessing additional levels of information concerning television programs; and interest in accessing additional levels of information concerning product advertisements including the correlation of such interest with the Viewer Preferences. Over time, with sufficient data, the EPG characterizes the viewer's sense of humor, chronological age, activity age, whether the viewer is married, whether the viewer has children, whether the viewer has a pet and what type of pet the viewer likely has, whether the viewer is interested in buying a particular type of appliance, whether the viewer is considering buying a car, the viewer's likely political affiliations, and a broad range of various other Viewer Characteristics.

Yet further, the Profile Program analyzes an individual's Viewer Profile as compared to the Viewer Profiles of others. With this cross-comparison analysis, the Profile Program can determine the likelihood that the subject viewer will prefer or be interested in a particular subject, product, theme, movie, episode, etc. based on comparisons to similar Viewer Profiles.

I. Utilization of Viewer Profile Information to Customize Various Aspect of the EPG

The EPG and Profile Program use the basic viewer profile data, the simple statistics collected about a particular viewer, Viewer Preferences and Viewer Characteristics (collectively, hereinafter, the “Viewer's Profile”) to customize various aspects of the EPG. The viewer has the option to block any of these automatic customization features in the EPG Setup Mode. One aspect of the EPG that will be customized is the order of the channel slots presented in the Grid Guide. The order in which the channel slots are presented can be customized to present the viewer's favorite channels at the top/beginning of the Grid Guide in descending order according to the Viewer's Profile.

In one embodiment, the order of the channel slots is customized according to the day of the week and the time of day in accordance with the Viewer's Profile. For instance, if a particular viewer frequently watched Nick at Nite on weekday evenings from 7 pm to 10 pm, then the EPG automatically tunes the television when turned on between 7 pm and 10 pm, to the appropriate Nick at Nite channel and formats the Grid Guide to show the Nick at Nite channel as the first channel in the Grid Guide. If the same viewer typically watched ESPN during daytime hours on Saturday and Sunday, then the EPG automatically tunes the television when turned on between, e.g., 7 am through 7 pm on Saturday and Sunday to one of the ESPN channels and formats the Grid Guide to show the ESPN channels as the first several channels in the Grid Guide whenever the viewer enters the Grid Guide between, e.g., 7 am through 7 pm on Saturday and Sunday.

At the viewer's option, the EPG and Profile Program use the basic viewer profile data, the simple statistics collected about a particular viewer, Viewer Preferences and Viewer Characteristics to perform automatic surfing. At the viewer's option, auto surfing can be performed during real-time advertising telecasts. At the viewer's further option, auto surfing can be performed in PIP Watch Function, allowing the viewer to watch the program currently tuned in the main Picture Window, while providing auto surfing in the PIP Window. Alternatively, at the viewer's option, auto surfing can be performed in PIP Watch Function, allowing the viewer to watch the program currently tuned in the PIP Window, while providing auto surfing in the Main Picture Window. Still further, the viewer can choose the option of selecting a different advertisement to watch, or manually surfing channels of the viewer's choice.

At the viewer's option, the EPG and Profile Program use the basic viewer profile data, the simple statistics collected about a particular viewer, Viewer Preferences and Viewer Characteristics to populate the Record List and/or the Watch List with programs that are likely to suit the viewer's interests. In one embodiment, searches for this type of information are conducted at a central computer at the head end. In another embodiment, queries are constructed and fed to an Internet search engine.

At the viewer's option, the EPG and Profile Program use the basic viewer profile data, the simple statistics collected about a particular viewer, Viewer Preferences and Viewer Characteristics to search for news stories that are likely to suit the viewer's interests. The problem that is solved is automatically (without an editorial staff) choosing news stories from multiple news feeds for display to a particular viewer in a news service. The content of the audio portion of the news broadcast is digitized and can be stored at a central computer, on one or more web sites, on DVD's (both video and audio recordings) local to the particular viewer's television system, or in memory at the particular viewer's television system. In addition to the audio content, video recordings of the news stories can also be stored.

The Viewer's Profile, and in some embodiments, specific input from the viewer, is then used to construct data-mining search queries to locate and deliver content that matches the viewer's profiled interests and/or the viewer's specific requests for information. The news stories are then indexed (as described elsewhere in this disclosure). The EPG presents the viewer with the customized index. In this way, the viewer selects the news stories for viewing in much the same way as the viewer selects television programs that the viewer wants to watch or record. Furthermore, web sites containing additional information concerning the indexed news stories can be posted, e.g., as part of the detailed description area text presented at the time that the viewer highlights a particular news story for viewing.

In one embodiment, Theme Guides provide “Smart Sorting” based on the Viewer's Profile (which is explained more fully elsewhere in this application). That is, if a program is on two channels, the system will select the best channel based on which of the two channels the viewer watches more often. In one embodiment, the Theme Guides are further customized according to the Viewer's Profile. For instance, an information broadcast packet sent with the scores is used to order the score in the sports guide consistent with the Viewer's Profile. For instance, the score for a game involving the Boston Red Sox would display the scores for the Red Sox first for a viewer in Boston.

During set up procedures, the EPG provides for automatic channel map selection. All channel maps in the viewer's zip code are downloaded. Zip code related options are displayed. In one embodiment, the viewer is asked to identify information necessary for the television to select the appropriate channel mapping option, but the television automatically selects the appropriate channel map. For instance, the viewer is asked to identify, e.g, the distribution service to which the viewer subscribes, e.g., Colonial Cable, and a particular channel map, e.g., does the viewer receive HBO on channel 43. In this way, the viewer identifies the information necessary for the television to select the appropriate channel map. Alternatively, the viewer is actually asked to select the channel map, e.g., “if you have Colonial Cable and get HBO on channel 43, pick this channel map.”

J. Utilization of Viewer Profile Information to Provide Customized Presentation of Advertising to the Viewer

The EPG and the Profile Program use Viewer Profile information to tailor the presentation and scheduling of advertisements to the viewer and to customize the presentation of the EPG for the user. For instance, the EPG uses Viewer Profile information to determine whether to notify the viewer about scheduling for a program involving the viewer's favorite team, a talk show involving a star player from that team, etc. The EPG is capable of such customized notification/advertisement through e.g., an advertisement in the Ad Window, or through an advertisement in a Virtual Ad Channel Slot.

Additionally, the EPG and the Profile Program use Viewer Profile information to customize the presentation and/or scheduling of telecast advertisements that are viewable during the real time telecast of the television program that the viewer is watching. One example is customizing an overlay message to an advertisement on a local geographic basis. For instance, the EPG knows the geographic location of the individual viewer. The broadcaster can packet match on the zip code to customize the message so each zip code gets a different message, i.e., the 3 Burger Kings in the viewer's local area. In one embodiment, the customized messages can be preloaded by zip code into the memories of particular viewers' EPG's. The preloaded messages can be transmitted by a head end during off hours and stored in the viewer's terminal for use when the advertisement runs, e.g., during a television program or in a video clip in the Ad Window. The electronic trigger to run the message can be transmitted along with the television signal in real time and can identify the messages stored in the user terminal that need to be applied.

In another embodiment, the customized messages are narrowcast with the televised advertisement. One way to narrowcast the customized messages is to embed the customized information in the advertisement video stream. Another way is to transmit a digital “watermark” in the video stream of the advertisement,

In one embodiment, customization of real-time viewing of is advertisements is achieved by providing multiple channels of advertising, by tuning the television automatically to a particular advertising channel at the time during the telecast of the television program during which an advertisement is scheduled to occur, and by then tuning the television back to the viewer's chosen television program at the conclusion of the advertisement. In another embodiment, a service monitors telecasts for advertisements as they are telecast on a particular channel and inserts a change channel command in the Vertical Blanking Interval (the “VBI”) when an ad is telecast, said change channel command causing the television to tune to a particular channel for a telecast of an advertisement suitable to the Viewer's Preferences.

Viewer Profile information can be reported, as with, for instance, statistical reports of Viewer Profile information for many viewers. These reports could be provided for analysis by advertisers, head end operators, Guide producers, or others, to determine, among other things, marketing customization opportunities, narrowcasting opportunities, program detail information requirements, and program distribution scheduling requirements.

The EPG will attempt to capture the approximate initial purchase date (e.g., first turn-on date) of any television/entertainment system components. The EPG can notify the user at the appropriate time after the initial purchase of opportunities such as purchasing an extended warranty from the manufacturer. In one embodiment, the terminal equipment is separately addressable providing that such notification messages can be sent in the VBI to the appropriate viewer. Based on the Viewer Profile, the extended warranty offer could be tailored to the viewer's financial situation.

Another way that the EPG uses Viewer Profile information is in connection with “access-content” customization of the advertising messages displayed by the EPG. Viewer Profile information will include the television program that the viewer was watching immediately before entering the EPG. The EPG can display different ads in the Guide or Service based upon the content of the television program that the viewer was watching before entering the EPG or one of the special data services accessible through the EPG. The “access-content” advertising strategy provides a much more refined way of targeting the consumer. For example, consider two viewers who are both watching television at 8:00 p.m. on a Tuesday night. When the one viewer who has been watching “Nova” enters the EPG, the EPG might display an advertisement for educational computer; whereas when the second viewer who has been watching Major League Baseball enters the EPG, the EPG might display an advertisement for Goodyear Tires.

In one embodiment of this invention, a data base of advertising messages and virtual channel ads is stored in PAM at the viewer terminal or is accessible at a web site if the viewer terminal has an Internet connection. In either case, the advertising items in the data base are labeled with coded categories that correspond to coded category labels assigned to the telecast television programs. (Preferably, these are the same categories that are used to sort the programs in the on screen category or theme guide.) The category labels of the television programs could be stored in RAM as part of the EPG data base and retrieved from the applicable Show information Package (“SIP”) based on the information from the real time clock and the tuner setting. This information identifies a time and channel that points to the applicable SIP. After the category label of the last program the viewer was watching in the television mode is retrieved from the EPG data base, this label is matched to the corresponding label in the data base of advertising messages and virtual channel ads stored in RAM. In FIG. 1 of the drawing, the advertising items to which the labels are attached are displayed in ad windows 14 and 16 and the virtual channel ad displayed on tile 52 as described above.

Yet another way that the EPG uses Viewer Profile information is in connection with “adjacent-content” customization of the advertising messages displayed by the EPG. Viewer Profile information will include identification of the content that the viewer has currently highlighted in the EPG or related data service. Using this method, the EPG displays different advertisements depending upon, e.g., which show the viewer has currently highlighted in the Grid Guide, what sport is highlighted in a sports data service, or what type of news is highlighted in a news service (international, local, etc.).

The EPG can select advertisements from various possible locations, including but limited to: a library of advertisements stored at the viewer's terminal in RAM that have been downloaded through the VBI, stored at the head-end, or accessible through an EPG link to the Internet/World Wide Web. The advertisements may be in the form of graphics, text, video clips, audio clips, and combinations thereof. Each advertisement can be assigned theme codes, profile codes, and other selection intelligence. In one embodiment, in order to customize the advertising display, the EPG searches the library of available advertisements to locate advertisements that match criteria set by the advertisers for “access content,” “adjacent content,” and/or Viewer Profile information. In another embodiment, the EPG selects advertisements for display according to pre-established selection criteria.

The disclosures of the following patent applications are incorporated fully herein by reference: International Application WO96/07270; Application No. 60/053,330 filed Jul. 21, 1997; Application No. 60/061,119 filed Oct. 6, 1997; and Application No. 60/055,237 filed Aug. 12, 1997.

In one embodiment, the advertisements in the library are assigned to themes; the history of use of an on-screen theme menu or program guide is recorded; and the history is analyzed by the EPG microprocessor to decide which advertisement to display.

For example, a particular advertisement for automobiles might be assigned to a sports event theme. In a simple implementation, this automobile advertisement would be selected for display, if the users of the particular EPG selected sports as a theme more frequently than any other theme during a prescribed period of time. FIG. 7 represents the on screen display for the top level theme screen; and FIG. 8 represents the on screen display for the second-level theme screen. A theme selection could be recorded when a viewer highlights a theme in FIG. 7, such as “Sports”. Selecting a theme brings up a screen listing, by time, channel, and title, of the programs that are consistent with the selected theme on a second-level theme screen, an example of which is shown in FIG. 8. The history of use could be recorded in a memory by overwriting the oldest data stored in the memory. If desired, a more sophisticated analysis could be used. Thus, the frequency of selection could be weighted to favor more recent selections over older selections or themes could be combined to determine which advertisement to display.

In another embodiment, the advertisements in the library are assigned to particular television programs or classes of television programs; the history of use of the information box of the EPG is recorded, in terms of frequency of the visits, time spent during a single visit, and/or total time of all the visits; the information boxes are correlated to the television programs, and the results are analyzed to decide which advertisement to display. Instead of the information box, any other area of the EPG screen could be monitored in similar fashion to decide which advertisement to display. In each case, the advertisements in the library are assigned to the types or subjects of information displayed in the monitored area so as to target better the advertisements to the interests of the users.

In another embodiment, the advertisements in the library are also assigned to particular television programs or classes of television programs in terms of channel and time; the tuner is monitored; the channel and time are correlated to the television programs, and the results are analyzed to decide which advertisement to display.

For example, an advertisement for brand name athletic shoes with a popular basketball star could be assigned to basketball programs. The shoe advertisement would be selected for display if the viewer of the particular EPG entered the EPG while watching a basketball game.

In another embodiment, the advertisements in the library are also assigned to particular television programs or classes of television programs; the history of television programs entered into a “record-watch list” as shown in FIG. 6 is recorded; and the results are analyzed to decide which advertisement to display.

The time of the monitored event can also be taken into account in order to distinguish between multiple users of the same EPG or related television receiver. The assumption is that the people using the EPG and watching television at different times of the day have different interests—housewives may use the EPG more in the morning, children may use it in the early evenings, and men who work outside the home may use it on Sunday afternoons.

History of use as described above can be combined with the “access-content” model described in Application No. 60/055,237 to further pin-point advertisements to the user's interests. Thus, if the users of the particular EPG selected comedies as a theme more frequently than any other theme during a prescribed period of time, three advertisements might be flagged and the final selection made therefrom depending upon which type of program the viewer was watching on television before switching to the on-screen EPG. 

1-58. (canceled)
 59. A method for causing a program identifier for a promoted program to be displayed, the method comprising: receiving a plurality of program identifiers for a plurality of programs, wherein the plurality of program identifiers comprises the program identifier for the promoted program; generating for display in a scrollable program information region, using control circuitry, a first subset of the plurality of program identifiers arranged in a plurality of rows, wherein the program identifier for the promoted program is displayed in a particular row of the plurality of rows that is a fixed number of rows from the top of the scrollable program information region; receiving user input to scroll the scrollable information region; and generating for display in the scrollable program information region, using the control circuitry, responsive to the user input, a second subset of the plurality of program identifiers arranged in the plurality of rows, wherein the program identifier for the promoted program is again displayed in the particular row that is the fixed number of rows from the top of the scrollable program information region.
 60. The method of claim 59, further comprising, a predetermined amount of time after the second subset of the plurality of program identifiers is displayed, without receiving any user input further to the user input to scroll the scrollable information region, causing a program identifier for another promoted program to be displayed in the particular row simultaneously with the second subset of the plurality of program identifiers.
 61. The method of claim 59, further comprising causing the promoted program to be displayed responsive to a user selection of the program identifier for the promoted program.
 62. The method of claim 59, further comprising accessing a website associated with the promoted program responsive to a user selection of the program identifier for the promoted program.
 63. The method of claim 59, further comprising selecting the program identifier for the promoted program for display in the particular row based on user profile information.
 64. The method of claim 63, wherein the user profile information comprises information uniquely identifying a source of the promoted program.
 65. The method of claim 64, wherein the information uniquely identifying the source of the promoted program is added to the user profile information responsive to a user selection of the source of the promoted program.
 66. The method of claim 64, further comprising: receiving a plurality of user commands for performing one of at least two different types of interactions on each of a third subset of the plurality of programs; and updating the user profile information based on an identify of each one of the third subset of the plurality of programs and an identity of the corresponding one of the at least two different types of interactions performed.
 67. The method of claim 66, wherein selecting the program identifier for the promoted program for display comprises selecting the program identifier for the promoted program based on the identity of each one of the third subset of the plurality of programs and the identity of the corresponding one of the at least two different types of interactions performed.
 68. The method of claim 66, wherein the plurality of user commands comprises: a first user command for performing a first of the at least two different types of interactions on a first of the third subset of the plurality of programs; a second user command for performing the first of the at least two different types of interactions on a second of third subset of the plurality of programs; and a third user command for performing a second of the at least two different types of interactions on the second of third subset of the plurality of programs.
 69. A system for causing a program identifier for a promoted program to be displayed, the system comprising: communications circuitry configured to receive a plurality of program identifiers for a plurality of programs, wherein the plurality of program identifiers comprises the program identifier for the promoted program; control circuitry configured to: generate for display in a scrollable program information region, using control circuitry, a first subset of the plurality of program identifiers arranged in a plurality of rows, wherein the program identifier for the promoted program is displayed in a particular row of the plurality of rows that is a fixed number of rows from the top of the scrollable program information region; receive user input to scroll the scrollable information region; and generate for display in the scrollable program information region, using the control circuitry, responsive to the user input, a second subset of the plurality of program identifiers arranged in the plurality of rows, wherein the program identifier for the promoted program is again displayed in the particular row of the plurality of rows that is the fixed number of rows from the top of the scrollable program information region.
 70. The system of claim 69, wherein the control circuitry is further configured to, a predetermined amount of time after the second subset of the plurality of program identifiers is displayed, without receiving any user input further to the user input to scroll the scrollable information region, cause a program identifier for another promoted program to be displayed in the particular row simultaneously with the second subset of the plurality of program identifiers.
 71. The system of claim 69, wherein the control circuitry is further configured to cause the promoted program to be displayed responsive to a user selection of the program identifier for the promoted program.
 72. The system of claim 69, wherein the control circuitry is further configured to access a website associated with the promoted program responsive to a user selection of the program identifier for the promoted program.
 73. The system of claim 69, wherein the control circuitry is further configured to select the program identifier for the promoted program for display in the particular row based on user profile information.
 74. The system of claim 73, wherein the user profile information comprises information uniquely identifying a source of the promoted program.
 75. The system of claim 74, wherein the information uniquely identifying the source of the promoted program is added to the user profile information responsive to a user selection of the source of the promoted program.
 76. The system of claim 74, wherein the control circuitry is further configured to: receive a plurality of user commands for performing one of at least two different types of interactions on each of a third subset of the plurality of programs; and update the user profile information based on an identify of each one of the third subset of the plurality of programs and an identity of the corresponding one of the at least two different types of interactions performed.
 77. The system of claim 76, wherein the control circuitry is configured to select the program identifier for the promoted program for display by being configured to select the program identifier for the promoted program based on the identity of each one of the third subset of the plurality of programs and the identity of the corresponding one of the at least two different types of interactions performed.
 78. The system of claim 76, wherein the plurality of user commands comprises: a first user command for performing a first of the at least two different types of interactions on a first of the third subset of the plurality of programs; a second user command for performing the first of the at least two different types of interactions on a second of third subset of the plurality of programs; and a third user command for performing a second of the at least two different types of interactions on the second of third subset of the plurality of programs.
 79. A non-transitory machine-readable medium comprising instructions thereon for causing a program identifier for a promoted program to be displayed, the instructions comprising: instructions to receive a plurality of program identifiers for a plurality of programs, wherein the plurality of program identifiers comprises the program identifier for the promoted program; instructions to generate for display in a scrollable program information region a first subset of the plurality of program identifiers arranged in a plurality of rows, wherein the program identifier for the promoted program is displayed in a particular row of the plurality of rows that is a fixed number of rows from the top of the scrollable program information region; instructions to receive user input to scroll the scrollable information region; and instructions to generate for display in the scrollable program information region, responsive to the user input, a second subset of the plurality of program identifiers arranged in the plurality of rows, wherein the program identifier for the promoted program is again displayed in the particular row of the plurality of rows that is the fixed number of rows from the top of the scrollable program information region.
 80. The non-transitory machine-readable medium of claim 79, further comprising instructions to, a predetermined amount of time after the second subset of the plurality of program identifiers is displayed, without receiving any user input further to the user input to scroll the scrollable information region, cause a program identifier for another promoted program to be displayed in the particular row simultaneously with the second subset of the plurality of program identifiers.
 81. The non-transitory machine-readable medium of claim 79, further comprising instructions to cause the promoted program to be displayed responsive to a user selection of the program identifier for the promoted program.
 82. The non-transitory machine-readable medium of claim 79, further comprising instructions to access a website associated with the promoted program responsive to a user selection of the program identifier for the promoted program.
 83. The non-transitory machine-readable medium of claim 79, further comprising instructions to select the program identifier for the promoted program for display in the particular row based on user profile information.
 84. The non-transitory machine-readable medium of claim 83, wherein the user profile information comprises information uniquely identifying a source of the promoted program.
 85. The non-transitory machine-readable medium of claim 84, wherein the information uniquely identifying the source of the promoted program is added to the user profile information responsive to a user selection of the source of the promoted program.
 86. The non-transitory machine-readable medium of claim 83, further comprising: instructions to receive a plurality of user commands for performing one of at least two different types of interactions on each of a third subset of the plurality of programs; and instructions to update the user profile information based on an identify of each one of the third subset of the plurality of programs and an identity of the corresponding one of the at least two different types of interactions performed.
 87. The non-transitory machine-readable medium of claim 86, wherein the instructions to select the program identifier for the promoted program for display comprise instructions to select the program identifier for the promoted program based on the identity of each one of the third subset of the plurality of programs and the identity of the corresponding one of the at least two different types of interactions performed.
 88. The non-transitory machine-readable medium of claim 86, wherein the plurality of user commands comprises: a first user command for performing a first of the at least two different types of interactions on a first of the third subset of the plurality of programs; a second user command for performing the first of the at least two different types of interactions on a second of third subset of the plurality of programs; and a third user command for performing a second of the at least two different types of interactions on the second of third subset of the plurality of programs. 